const express = require('express');
const router = express.Router();
const { db } = require('../db/database');

// 获取所有订单信息
router.get('/', (req, res) => {
    db.all('SELECT * FROM 订单信息', (err, rows) => {
        if (err) {
            res.status(500).json({ error: err.message });
            return;
        }
        res.json(rows);
    });
});

// 根据订单编号获取单个订单信息
router.get('/:id', (req, res) => {
    const id = req.params.id;
    db.get('SELECT * FROM 订单信息 WHERE 订单编号 =?', [id], (err, row) => {
        if (err) {
            res.status(500).json({ error: err.message });
            return;
        }
        if (!row) {
            res.status(404).json({ error: '订单未找到' });
            return;
        }
        res.json(row);
    });
});

// 创建新订单
router.post('/', (req, res) => {
    const { 用户编号, 订单生成时间, 订单总金额, 订单状态, 支付方式 } = req.body;
    const insertOrder = db.prepare('INSERT INTO 订单信息 (用户编号, 订单生成时间, 订单总金额, 订单状态, 支付方式) VALUES (?,?,?,?,?)');
    insertOrder.run([用户编号, 订单生成时间, 订单总金额, 订单状态, 支付方式], function (err) {
        if (err) {
            res.status(500).json({ error: err.message });
            return;
        }
        res.status(201).json({ id: this.lastID, message: '订单创建成功' });
    });
    insertOrder.finalize();
});

// 更新订单状态
router.put('/:id', (req, res) => {
    const id = req.params.id;
    const { 订单状态 } = req.body;
    db.run('UPDATE 订单信息 SET 订单状态 =? WHERE 订单编号 =?', [订单状态, id], function (err) {
        if (err) {
            res.status(500).json({ error: err.message });
            return;
        }
        if (this.changes === 0) {
            res.status(404).json({ error: '订单未找到' });
            return;
        }
        res.json({ message: '订单状态更新成功' });
    });
});

// 删除订单
router.delete('/:id', (req, res) => {
    const id = req.params.id;
    db.run('DELETE FROM 订单信息 WHERE 订单编号 =?', [id], function (err) {
        if (err) {
            res.status(500).json({ error: err.message });
            return;
        }
        if (this.changes === 0) {
            res.status(404).json({ error: '订单未找到' });
            return;
        }
        res.json({ message: '订单删除成功' });
    });
});

module.exports = router;